<!--  -->
<template>
    <div class='ce'>
        <el-upload
            class="upload-demo"
            action="http://localhost:8888/upload"
            :on-success="handleSuccess"
            :on-remove="handleRemove"
            :on-error="handleError"
            :file-list="urls"
            :limit="6"
            :on-exceed="handleExceed"
            :before-upload="beforeAvatarUpload"
            list-type="picture">
            <el-button size="small" type="primary">点击上传</el-button>
            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件，且不超过2MB</div>
          </el-upload>
        <!-- <el-button type="primary" @click="commitInfo">提交</el-button> -->
    </div>
    </template>

<script>
// 这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
// 例如：import 《组件名称》 from '《组件路径》';

export default {
  name: 'CompanyImg',
  // import引入的组件需要注入到对象中才能使用
  components: {},
  props: {
    cid: {}
  },
  data () {
    // 这里存放数据
    return {
      labelPosition: 'top',
      urls: [

      ]
    }
  },
  // 监听属性 类似于data概念
  computed: {},
  // 监控data中的数据变化
  watch: {},
  // 方法集合
  methods: {
    initUrls () {
      const url = '/photos/getCompanyPhotosByCid/' + this.cid
      this.$get(url).then(res => {
        this.urls = res.data
        console.log('获取图片列表:', res.data)
        this.$message.success(res.msg)
      })
    },
    commitInfo () {
      console.log('子组键中的item', this.item)
      this.$emit('saveImg', this.item, false)
    },
    handleRemove (file, fileList) {
      const url = '/photos/deleteCompanyPhoto/' + file.name
      this.$get(url).then(res => {
        this.$message.success(res.msg)
        console.log('删除后剩下图片:', fileList)
        this.$emit('saveImg')
      })
    },
    handleSuccess (file) {
      console.log(file)
      console.log(this.item)
      this.saveCompanyImage(file.data)
      this.$emit('saveImg')
      this.$message.success('成功上传图片', file.msg)
    },
    handleError (file) {
      this.$message.error('上传失败:' + file.msg)
    },
    // 文件格式和大小限制
    beforeAvatarUpload (file) {
      const isJPG = file.type === 'image/jpeg'
      const isPNG = file.type === 'image/png'
      const isLt2M = file.size / 1024 / 1024 < 2

      if (!isJPG || !isPNG) {
        this.$message.error('上传头像图片只能是 JPG 和 PNG 格式!')
      }

      if (!isLt2M) {
        this.$message.error('上传头像图片大小不能超过 2MB!')
      }
      return isJPG && isLt2M
    },
    // 文件个数限制6个
    handleExceed (files, fileList) {
      this.$message.warning(`当前限制上传6文件，本次选择了 ${files.length} 个文件，共选择了 ${files.length + fileList.length} 个文件`)
    },
    saveCompanyImage (name) {
      const url = '/photos/addCompanyPhotos/'
      const param = {
        name: name,
        cid: this.cid
      }
      const qs = require('qs')
      this.$post(url, qs.stringify(param)).then(res => {
        this.$message.success(res)
      })
    }
  },
  // 生命周期 - 创建完成（可以访问当前this实例）
  created () {
    console.log('cid:', this.cid)
    this.initUrls()
  },
  // 生命周期 - 挂载完成（可以访问DOM元素）
  mounted () {

  },
  beforeCreate () {}, // 生命周期 - 创建之前
  beforeMount () {}, // 生命周期 - 挂载之前
  beforeUpdate () {}, // 生命周期 - 更新之前
  updated () {}, // 生命周期 - 更新之后
  beforeDestroy () {}, // 生命周期 - 销毁之前
  destroyed () {}, // 生命周期 - 销毁完成
  activated () {} // 如果页面有keep-alive缓存功能，这个函数会触发
}
</script>
    <style lang='less' scoped>
    //@import url(); 引入公共css类

    </style>
